package com.camelot.boot.module.system.controller.admin.chatmessage1.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - AI 聊天消息 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ChatMessage1RespVO {

    @Schema(description = "对话编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18134")
    @ExcelProperty("对话编号")
    private Long conversationId;

    @Schema(description = "回复编号", example = "1642")
    @ExcelProperty("回复编号")
    private Long replyId;

    @Schema(description = "用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20315")
    @ExcelProperty("用户编号")
    private Long userId;

    @Schema(description = "角色编号", example = "13269")
    @ExcelProperty("角色编号")
    private Long roleId;

    @Schema(description = "消息类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("消息类型")
    private String type;

    @Schema(description = "模型标识", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("模型标识")
    private String model;

    @Schema(description = "模型编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "10683")
    @ExcelProperty("模型编号")
    private Long modelId;

    @Schema(description = "消息内容", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("消息内容")
    private String content;

    @Schema(description = "是否携带上下文", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否携带上下文")
    private Boolean useContext;

    @Schema(description = "段落编号数组")
    @ExcelProperty("段落编号数组")
    private String segmentIds;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}